package alg;
import java.io.File;
import java.sql.PreparedStatement;
import data.UserRating;

import java.sql.SQLException;
import java.util.List;

import org.apache.commons.configuration.ConfigurationException;

import data.UserRatingList;
import data.UserSimilarity;

import exception.DataManagerException;

public abstract class DataManager {
	public abstract void close() throws DataManagerException;

	public abstract UserRatingList getRatings(int UserId)
			throws DataManagerException;

	public abstract UserRatingList getScores(int UserId)
			throws DataManagerException;

	public abstract int getRating(int UserId, int ProfileId)
			throws DataManagerException;

	public abstract void init() throws DataManagerException;

	public abstract List<Integer> getAllUsers() throws DataManagerException;

	public abstract void storeUserSimilarities(List<UserSimilarity> similarities)
			throws DataManagerException;
	
	public abstract void loadRatings() throws ConfigurationException, SQLException;

	public abstract void loadUsers() throws ConfigurationException, SQLException;

}
